1. Field of the Invention
The present invention relates generally to peripheral devices connected to a computer system. More specifically, the present invention relates to an automated system and method of encouraging computer system customers to purchase licenses before employing certain types of peripheral devices for use with their computer system.
2. Related Art
Generally, there are two methods that can be used by a computer system to provide software connectivity and support for a peripheral device: (1) an external peripheral software driver (a.k.a. external software device driver); and (2) an internal peripheral software driver (a.k.a. internal software device driver) that is contained within the operating system. Computer companies that employ the first technique are able to recoup the development costs (which include design, coding, testing, documenting, and support) for the software driver by selling the driver as a separate entity. However, companies that utilize the second technique have a difficult task of recouping development costs, since the software driver is embedded within the operating system and cannot be removed easily, if at all.
The computer industry is currently attempting to find a solution to the problem facing companies that employ the second technique. One possible solution is to produce a different version of the operating system for each possible combination of software drivers embedded in that operating system and charge accordingly. However, this is impractical, since the number of supported peripheral devices can be large and varied; potentially causing exponential growth in the number of supported versions of the operating system.
A second potential solution is to include all supported software drivers in the operating system and then add a flat fee to the price of the operating system. However, this solution penalizes many customers (possibly severely) who access a small percentage of the range of available peripheral devices because they are, in effect, subsidizing those customers who access a large percentage of the available peripheral devices.
A third potential solution also involves including all supported software drivers in the operating system. It differs from the previous solution by adding a certain percentage of the software driver development cost to the price of each associated peripheral device. This allows the company to recoup its investment in software drivers over an extended period of time as peripheral devices are sold. However, this solution is viable only if customers purchase most of their peripheral devices from the company that developed the corresponding drivers. This is unlikely since the very nature of this solution encourages third party peripheral device vendors to reverse-engineer the company's peripheral devices and then offer their own versions of the devices to the company's customers at a price lower than the company can afford to offer. This lower price is directly attributable to the fact that the third party vendors do not need to invest in the development of the associated software drivers since they can utilize the drivers already embedded in the company's operating system.
Significant development resources are spent by companies developing embedded software drivers. Thus, what is needed is an effective technique which allows companies to recoup the development costs associated with their embedded software drivers.